function twoSum(nums, target){
    // es6 提供了hasMap 很重要 O(1)时间复杂度 
    // 语言都提供了一些内置的数据结构 []
    const diffs = new Map(); // es5 没有hasMap O(1)时间复杂度
    const len = nums.length; // 缓存数组的长度
    for (let i = 0; i < len; i++) {
        const complement = target - nums[i]; // 和变差
        if (diffs.has(complement) ) {
            return [diffs.get(complement), i]; // 找到结果
        }
        diffs.set(nums[i], i);
        // diffs[nums[i]] = i;
    }
}